IBM Configuration Management Version Control (CMVC)
   HOME

TheInfoList



OR:

Configuration Management Version Control (CMVC) is a
software Software is a set of computer programs and associated documentation and data. This is in contrast to hardware, from which the system is built and which actually performs the work. At the lowest programming level, executable code consists ...
package that serves as an object repository, and performs software
version control In software engineering, version control (also known as revision control, source control, or source code management) is a class of systems responsible for managing changes to computer programs, documents, large web sites, or other collections o ...
, configuration management, and change management functions.


Architecture

* This was a client-server based system, with command-line and graphical clients for several platforms and servers available for several flavors of Unix. * A relational database was used to keep tracking information but a separate Source Control Manager such as
Source Code Control System Source Code Control System (SCCS) is a version control system designed to track changes in source code and other text files during the development of a piece of software. This allows the user to retrieve any of the previous versions of the origina ...
(SCCS) or PVCS was used to maintain version history for each file. The filenames for these files are actually stored in the relational database - as a result, filenames in the SCCS tree are numeric ids.


Concepts

* Files are created and associated with Components. * Components form a directed graph where each Component can have several parents. Components are a logical grouping mechanism allowing Files to be grouped together without regard to their physical pathnames (unlike directories or folders which lie on the path). * Permissions can be given at the Component level, allowing for distributed administration. The permission to give other permissions can be granted. * A Release was a set of files with a common root. Releases could share files with other releases. The sharing could be defined to follow the latest version (sometimes called "tip") or a specific version within the release. This was called "linking". * A Level is a snapshot of all files. Similar to a "tag" in other source control systems - but with a twist. If the Release is in "binding mode" (most commonly used), the Levels contain only the files referenced by the LevelMembers (Defects and Features). As a result, a Level only contains changes (file versions) that are approved and not just the latest file versions in the repository.


Features

* Defect tracking was integrated into the source control system. * Ability to configure a repository to require defects to be associated with every file check-in. * Levels are used to manage sets of defects, allowing managers to think in terms of sets of changes rather than sets of files. * Distributed administration allows for delegation of authority. This is particularly useful in large teams. * It has the ability to track file histories even after renaming. This is because the filename on disk was a number and the filename in the database could be changed. * Files could be shared between source code Releases


Weaknesses

* Locking used to be the only mechanism for controlling access to files. This was typical for source control systems of that time period but would be considered a major weakness today. The most current implementation has become more robust, allowing concurrent development, conflict resolution and merge. * Having a centralized server limits the ability to work in disconnected manner. Although, this is a failing of nearly all remote source control systems unless a local repository is created, giving the illusion of redundancy and source control, which will ultimately require a sync with the remote source control server at some point to submit any deltas.


History

It was sold and distributed through the mid-late 1990s by the International Business Machines Corporation (IBM) and was derived in part from software purchased from HP and from IBM's internal-use-only system, IDSS. In the 1990s, this system was used to manage the IBM OS/2 and
IBM AIX AIX (Advanced Interactive eXecutive, pronounced , "ay-eye-ex") is a series of Proprietary software, proprietary Unix operating systems developed and sold by IBM for several of its computer platforms. Background Originally released for the ...
source code repositories. CMVC sales and support terminated some time after IBM acquired
Rational Software Rational Machines is an enterprise founded by Paul Levy and Mike Devlin in 1981 to provide tools to expand the use of modern software engineering practices, particularly explicit modular architecture and iterative development. It changed its ...
, its functions being superseded by products in the Rational product line (
Rational ClearCase Rational ClearCase is a family of computer software tools that supports software configuration management (SCM) of source code and other software development assets. It also supports design-data management of electronic design artifacts, thus ena ...
and
Rational ClearQuest Rational Machines is an enterprise founded by Paul Levy and Mike Devlin in 1981 to provide tools to expand the use of modern software engineering practices, particularly explicit modular architecture and iterative development. It changed its n ...
). However, some customer installations of CMVC remain in use .Rani, Sandhya. Continuous integration setup for IBM System Planning Tool. developerWorks: 07 March 2014. Internet. http://www.ibm.com/developerworks/aix/library/au-system-planning-tool/


References

* * * * {{Version control software Proprietary version control systems Configuration Management Version Control Discontinued version control systems